/**
 * 使用自动化工具生成 version 1.0 
 * @author Jason.Wang
 * @blog http://kany.me
 * @email kzone.wang@gmail.com
 */
package me.kany.project.spring.boot.mapper;
import java.io.Serializable;

import java.util.*;

import org.apache.ibatis.session.RowBounds;

import me.kany.project.spring.boot.model.*;

/**
 *
 * @author Jason.Wang
 * @version $Id: BlogDocMapper.java, v 0.1 Jason.Wang Exp $.
 */
public interface BlogDocMapper extends Serializable{

	/**
	 * 保存BlogDoc对象
	 * @param blogDoc
	 */
	public int saveBlogDoc(BlogDoc blogDoc) throws Exception;

	/**
	 * 保存BlogDoc对象
	 * @param blogDoc
	 */
	public int saveBlogDocSelective(BlogDoc blogDoc) throws Exception;

	/**
	 * 根据docId删除BlogDoc
	 * @param docId
	 */
	public void deleteBlogDocBydocId(java.lang.Integer docId) throws Exception;

	/**
	 * 更新对象BlogDoc
	 * @param blogDoc
	 */
	public int updateBlogDoc(BlogDoc blogDoc) throws Exception;

	/**
	 * 根据docId获取BlogDoc
	 * @param docId
	 * @return BlogDoc
	 */
	public BlogDoc queryBlogDoc(java.lang.Integer docId) throws Exception;

	/**
	 * 根据对象获取所有的BlogDoc集合
	 * @param blogDoc
	 * @return List<BlogDoc>
	 */
	public List<BlogDoc> queryBlogDocList(BlogDoc blogDoc) throws Exception;

	/**
	 * 根据对象获取所有的BlogDoc集合，并且支持分页使用PaginationQueryList对象
	 * @param Map<String,Object> map
	 * @param RowBounds rowBounds
	 * @return List<BlogDoc>
	 * <pre>
	 * Map&lt;String,Object&gt; map =new HashMap&lt;String,Object&gt;();
	 * map.put("blogDoc", blogDoc);
	 * map.put("orderName", orderName);
	 * RowBounds rowBounds = null;
	 * if(0 &lt; pageSize){
	 * 		rowBounds = new RowBounds(currentPage, pageSize, true);
	 * }
	 * List&lt;BlogDoc&gt; list = blogDocMapper.queryForListWithOrderName(map,rowBounds);
	 * Page page = new Page(currentPage, (pageSize&lt;1?1:pageSize), list instanceof PaginationQueryList?((PaginationQueryList) list).getRowTotal():list.size());
	 * PageModel&lt;BlogDoc&gt; pageModel = new PageModel&lt;BlogDoc&gt;();
	 * pageModel.setData(list);
	 * pageModel.setPage(page);
	 * return pageModel;
	 * </pre>
	 */
	public List<BlogDoc> queryBlogDocLists(Map<String, Object> map, RowBounds rowBounds) throws Exception;
	
	/**
	 * 
	 * queryBlogDocListByPageInfo:根据分页信息获取文章信息. <br/>
	 *
	 * @author Jason.Wang
	 * @param blogDoc
	 * @param rowBounds
	 * @return
	 * @throws Exception
	 * @since JDK 1.7
	 */
	public List<BlogDoc> queryBlogDocListByPageInfo(Map<String, Object> map, RowBounds rowBounds);

}